package bavaria.hightech.testit;

import java.io.FileNotFoundException;
import java.util.ResourceBundle;

import bavaria.hightech.banking.BankImpl;
import bavaria.hightech.banking.BankRegistry;
import bavaria.hightech.comparators.CompEnum;
import bavaria.hightech.exceptions.BankVollException;
import bavaria.hightech.exceptions.FestgeldKontoNichtUeberziehbar;
import bavaria.hightech.konditionen.Laufzeit;
import bavaria.hightech.money.Money;
import bavaria.hightech.money.Waehrung;

public class TestIt {
	
	public static void main(String []args) throws FileNotFoundException{
		BankImpl bank = new BankImpl("EN");
		BankImpl bank2 = new BankImpl("EN");
		BankRegistry bankreg = BankRegistry.getInstance();
		bankreg.bind("bank1", bank);
		bankreg.bind("bank2", bank2);
		
		bank.FestgeldKontoErstellen("Peter", Laufzeit.EINS);
		bank.einzahlen(1000, new Money(1000, Waehrung.EUR), "Bierflaschenpfand");
		bank.einzahlen(1000, new Money(12250, Waehrung.EUR), "Frisches Bier");
		
		try{
			bank2.GiroKontoErstellen("EUTER");
			bank.GiroKontoErstellen("Toni");
		} catch (BankVollException e){
			e.printStackTrace();
		}
		try {
			bank.transaktion(1000, 1001, new Money(800, Waehrung.EUR), "Nutten");
			bank2.einzahlen(1000, new Money(10000, Waehrung.EUR), "Stipendium");
		} catch (FestgeldKontoNichtUeberziehbar e) {
			e.printStackTrace();
		}
		try {
			bank.transaktion(1001, 1000, new Money(10, Waehrung.EUR), "Arzt");
		} catch (FestgeldKontoNichtUeberziehbar e) {
			e.printStackTrace();
		} 
		try {
			bank.abheben(1001, new Money(12, Waehrung.EUR), "bier");
		} catch (FestgeldKontoNichtUeberziehbar e) {
			e.printStackTrace();
		}

		bank.kontoauszug(1000,CompEnum.Grund,"text/plain","C:\\Users\\michael\\Desktop\\Java");
		bank.kontoauszug(1000,CompEnum.Grund,"text/html","C:\\Users\\michael\\Desktop\\Java");
		
		
		try {
			bank.transaktion("bank2", 1000, 1000, new Money(5000, Waehrung.EUR), "Nutten und Koks");
		} catch (FestgeldKontoNichtUeberziehbar e) {
			e.printStackTrace();
		}
		
		
		
		
		
		
	}

}
